TPTP Problem File: PUZ150^18.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : PUZ150^18 : TPTP v8.2.0. Released v8.1.0.
% Domain   : Puzzles
% Problem  : Russian card problem (very simple variant)
% Version  : [BP13] axioms.
% English  : Anne, Bill and Cath draw 0, 1, and 2. Anne knows that Bill knows
%            that Cath knows her own card, etc. Anne has card 0. Then Bill
%            knows that Anne does not consider it possible that Bill considers
%            it possible that Cath knows that Anne does not have card 0.

% Refs     : [vDK06] van Ditmarsch & Kooi (2006), The Secret of My Success
%          : [RO12]  Raths & Otten (2012), The QMLTP Problem Library for Fi
%          : [BP13]  Benzmueller & Paulson (2013), Quantified Multimodal Lo
%          : [Ste22] Steen (2022), An Extensible Logic Embedding Tool for L
% Source   : [TPTP]
% Names    : MML007+1 [QMLTP]

% Status   : Theorem
% Rating   : 0.20 v8.2.0, 0.31 v8.1.0
% Syntax   : Number of formulae    :   45 (  11 unt;  25 typ;   8 def)
%            Number of atoms       :  108 (   8 equ;   0 cnn)
%            Maximal formula atoms :   11 (   5 avg)
%            Number of connectives :  151 (   1   ~;   1   |;   2   &; 144   @)
%                                         (   1 <=>;   2  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   5 avg)
%            Number of types       :    3 (   2 usr)
%            Number of type conns  :   58 (  58   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   24 (  23 usr;   4 con; 0-3 aty)
%            Number of variables   :   29 (  21   ^;   7   !;   1   ?;  29   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This output was generated by embedproblem, version 1.7.1 (library
%            version 1.3). Generated on Thu Apr 28 13:18:18 EDT 2022 using
%            'modal' embedding, version 1.5.2. Logic specification used:
%            $modal == [$constants == $rigid,$quantification == $cumulative,
%            $modalities == $modal_system_S5U].
%------------------------------------------------------------------------------
thf(mworld,type,
    mworld: $tType ).

thf(mindex,type,
    mindex: $tType ).

thf(mrel_type,type,
    mrel: mindex > mworld > mworld > $o ).

thf('#c_type',type,
    '#c': mindex ).

thf('#b_type',type,
    '#b': mindex ).

thf('#a_type',type,
    '#a': mindex ).

thf(mactual_type,type,
    mactual: mworld ).

thf(mlocal_type,type,
    mlocal: ( mworld > $o ) > $o ).

thf(mlocal_def,definition,
    ( mlocal
    = ( ^ [Phi: mworld > $o] : ( Phi @ mactual ) ) ) ).

thf(mnot_type,type,
    mnot: ( mworld > $o ) > mworld > $o ).

thf(mand_type,type,
    mand: ( mworld > $o ) > ( mworld > $o ) > mworld > $o ).

thf(mor_type,type,
    mor: ( mworld > $o ) > ( mworld > $o ) > mworld > $o ).

thf(mimplies_type,type,
    mimplies: ( mworld > $o ) > ( mworld > $o ) > mworld > $o ).

thf(mequiv_type,type,
    mequiv: ( mworld > $o ) > ( mworld > $o ) > mworld > $o ).

thf(mnot_def,definition,
    ( mnot
    = ( ^ [A: mworld > $o,W: mworld] :
          ~ ( A @ W ) ) ) ).

thf(mand_def,definition,
    ( mand
    = ( ^ [A: mworld > $o,B: mworld > $o,W: mworld] :
          ( ( A @ W )
          & ( B @ W ) ) ) ) ).

thf(mor_def,definition,
    ( mor
    = ( ^ [A: mworld > $o,B: mworld > $o,W: mworld] :
          ( ( A @ W )
          | ( B @ W ) ) ) ) ).

thf(mimplies_def,definition,
    ( mimplies
    = ( ^ [A: mworld > $o,B: mworld > $o,W: mworld] :
          ( ( A @ W )
         => ( B @ W ) ) ) ) ).

thf(mequiv_def,definition,
    ( mequiv
    = ( ^ [A: mworld > $o,B: mworld > $o,W: mworld] :
          ( ( A @ W )
        <=> ( B @ W ) ) ) ) ).

thf(mbox_type,type,
    mbox: mindex > ( mworld > $o ) > mworld > $o ).

thf(mbox_def,definition,
    ( mbox
    = ( ^ [R: mindex,Phi: mworld > $o,W: mworld] :
        ! [V: mworld] :
          ( ( mrel @ R @ W @ V )
         => ( Phi @ V ) ) ) ) ).

thf(mdia_type,type,
    mdia: mindex > ( mworld > $o ) > mworld > $o ).

thf(mdia_def,definition,
    ( mdia
    = ( ^ [R: mindex,Phi: mworld > $o,W: mworld] :
        ? [V: mworld] :
          ( ( mrel @ R @ W @ V )
          & ( Phi @ V ) ) ) ) ).

thf('mrel_#c_universal',axiom,
    ! [W: mworld,V: mworld] : ( mrel @ '#c' @ W @ V ) ).

thf('mrel_#b_universal',axiom,
    ! [W: mworld,V: mworld] : ( mrel @ '#b' @ W @ V ) ).

thf('mrel_#a_universal',axiom,
    ! [W: mworld,V: mworld] : ( mrel @ '#a' @ W @ V ) ).

%%% This output was generated by tptputils, version 1.2.
%%% Generated on Wed Apr 27 15:49:37 CEST 2022 using command 'downgrade(tff)'.
thf(c0_decl,type,
    c0: mworld > $o ).

thf(c1_decl,type,
    c1: mworld > $o ).

thf(b0_decl,type,
    b0: mworld > $o ).

thf(c2_decl,type,
    c2: mworld > $o ).

thf(b1_decl,type,
    b1: mworld > $o ).

thf(a0_decl,type,
    a0: mworld > $o ).

thf(b2_decl,type,
    b2: mworld > $o ).

thf(a1_decl,type,
    a1: mworld > $o ).

thf(a2_decl,type,
    a2: mworld > $o ).

thf(cb_decl,type,
    cb: mworld > $o ).

thf(axiom_knows_a_b_c,axiom,
    mlocal @ ( mbox @ '#a' @ ( mbox @ '#b' @ ( mor @ ( mbox @ '#c' @ c0 ) @ ( mor @ ( mbox @ '#c' @ c1 ) @ ( mbox @ '#c' @ c2 ) ) ) ) ) ).

thf(axiom_knows_b_a_c,axiom,
    mlocal @ ( mbox @ '#b' @ ( mbox @ '#a' @ ( mor @ ( mbox @ '#c' @ c0 ) @ ( mor @ ( mbox @ '#c' @ c1 ) @ ( mbox @ '#c' @ c2 ) ) ) ) ) ).

thf(axiom_knows_a_b_c_0,axiom,
    mlocal @ ( mbox @ '#a' @ ( mbox @ '#b' @ ( mor @ ( mbox @ '#c' @ c0 ) @ ( mor @ ( mbox @ '#c' @ c1 ) @ ( mbox @ '#c' @ c2 ) ) ) ) ) ).

thf(axiom_knows_a_c_b,axiom,
    mlocal @ ( mbox @ '#a' @ ( mbox @ '#c' @ ( mor @ ( mbox @ '#b' @ b0 ) @ ( mor @ ( mbox @ '#b' @ b1 ) @ ( mbox @ '#b' @ b2 ) ) ) ) ) ).

thf(axiom_knows_c_a_b,axiom,
    mlocal @ ( mbox @ '#c' @ ( mbox @ '#a' @ ( mor @ ( mbox @ '#b' @ cb ) @ ( mor @ ( mbox @ '#b' @ b1 ) @ ( mbox @ '#b' @ b2 ) ) ) ) ) ).

thf(axiom_knows_c_b_a,axiom,
    mlocal @ ( mbox @ '#c' @ ( mbox @ '#b' @ ( mor @ ( mbox @ '#a' @ a0 ) @ ( mor @ ( mbox @ '#a' @ a1 ) @ ( mbox @ '#a' @ a2 ) ) ) ) ) ).

thf(axiom_knows_b_c_a,axiom,
    mlocal @ ( mbox @ '#b' @ ( mbox @ '#c' @ ( mor @ ( mbox @ '#a' @ a0 ) @ ( mor @ ( mbox @ '#a' @ a1 ) @ ( mbox @ '#a' @ a2 ) ) ) ) ) ).

thf(axiom_a0,axiom,
    mlocal @ a0 ).

thf(con,conjecture,
    mlocal @ ( mbox @ '#b' @ ( mnot @ ( mdia @ '#a' @ ( mdia @ '#b' @ ( mbox @ '#c' @ ( mnot @ a0 ) ) ) ) ) ) ).

%------------------------------------------------------------------------------